package com.example.myapplication.widget;

import android.content.Context;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.example.myapplication.R;

// 自定义标题栏视图
public class HeaderView extends RelativeLayout {

   private TextView mTitleView;  // 标题文本视图
   private Button mButtonLeft;    // 左侧按钮
   private ImageButton mButtonRight;  // 右侧图像按钮

   // 构造函数，用于在代码中实例化HeaderView
   public HeaderView(Context context) {
      super(context);
      initView();  // 初始化视图布局
   }

   // 构造函数，用于在布局文件中使用HeaderView
   public HeaderView(Context context, AttributeSet attrs) {
      super(context, attrs);
      initView();  // 初始化视图布局
   }

   // 初始化视图布局
   private void initView() {
      LayoutInflater.from(getContext()).inflate(R.layout.header_view, this, true);
      mTitleView = findViewById(R.id.title);  // 根据ID找到标题视图
      mButtonLeft = findViewById(R.id.button_left);  // 根据ID找到左侧按钮视图
      mButtonRight = findViewById(R.id.button_right);  // 根据ID找到右侧按钮视图
   }

   // 设置标题文本
   public void setTitle(String title) {
      if (mTitleView != null && !TextUtils.isEmpty(title)) {
         mTitleView.setText(title);
      }
   }

   // 设置左侧按钮文本
   public void setLeftText(String text) {
      mButtonLeft.setText(text);
   }

   // 设置右侧按钮图像
   public void setRightSrc(int id) {
      mButtonRight.setImageResource(id);
   }

   // 设置左侧按钮点击监听器
   public void setLeftClickListener(OnClickListener listener) {
      mButtonLeft.setOnClickListener(listener);
   }

   // 设置右侧按钮点击监听器
   public void setRightClickListener(OnClickListener listener) {
      mButtonRight.setOnClickListener(listener);
   }

   // 设置左侧按钮可见性
   public void setLeftVisibility(int visiblity) {
      mButtonLeft.setVisibility(visiblity);
   }

   // 设置右侧按钮可见性
   public void setRightVisibility(int visibility) {
      mButtonRight.setVisibility(visibility);
   }

}
